﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Arthus
{
    public partial class kalkulacijaForma : Form
    {
        public static String IDzaglavlja;
        public static int idPartnera;
        public kalkulacijaForma(String zaglavljeID, int partnerID)
        {
            InitializeComponent();
            IDzaglavlja = zaglavljeID;
            idPartnera = partnerID;

            dateTimePickerDatumUnosa.Value = System.DateTime.Now;
            dateTimePickerDatumDokumenta.Value = System.DateTime.Now;
            dateTimePickerDatumDospeca.Value = System.DateTime.Now;

            posjedObjekat.PopuniComboBoxVeleprodaja(comboBoxProdajnaJedinica);

            checkBoxAutoBrojDokumenta.Checked = true;
            ProveraProknjizenostiKalkulacije();
        }

        Posjed posjedObjekat = new Posjed();
        ZAG zagObjekat = null;
        Partneri partneriObjekat = null;

        private void PromenaCheckBoxAutoBrojDokumenta()
        { //metoda koja menja vizibilnost textbox-ova automatskog broja dokumenta
            if (checkBoxAutoBrojDokumenta.Checked == true)
            {
                //ako je cekiran checkBoxAutoBrojDokumenta
                textBoxAutomatskiBrojDokumenta1.Enabled = false;
                textBoxAutomatskiBrojDokumenta2.Enabled = false;
            }
            else
            {
                //ako nije cekiran
                textBoxAutomatskiBrojDokumenta1.Enabled = true;
                textBoxAutomatskiBrojDokumenta2.Enabled = true;
            }
        }
        private void checkBoxAutoBrojDokumenta_CheckedChanged(object sender, EventArgs e)
        {
            PromenaCheckBoxAutoBrojDokumenta();
        }

        private void PromenaCheckBoxIzborPartnera()
        { //metoda koja menja vizibilnost textbox-ova automatskog broja dokumenta
            if (checkBoxIzborPartnera.Checked == true)
            {
                //ako je cekiran checkBoxAutoBrojDokumenta
                textBoxIzborPartnera.Enabled = true;
            }
            else
            {
                //ako nije cekiran
                textBoxIzborPartnera.Enabled = false;
            }
        }
        private void checkBoxIzborPartnera_CheckedChanged(object sender, EventArgs e)
        {
            PromenaCheckBoxIzborPartnera();
        }

        public void ProveraProknjizenostiKalkulacije()
        {
            zagObjekat = new ZAG();
            if (IDzaglavlja == "")
            {
                buttonUnesi.Enabled = true;
                buttonIzmeni.Enabled = false;
                buttonDodajStavku.Enabled = false;
                buttonIzmeniStavku.Enabled = false;
                buttonObrisiStavku.Enabled = false;
                buttonKnjizenje.Enabled = false;

                comboBoxProdajnaJedinica.Enabled = true;
                textBoxAutomatskiBrojDokumenta1.ReadOnly = false;
                textBoxAutomatskiBrojDokumenta2.ReadOnly = false;
            }
            else if (zagObjekat.ProveraProknjizenaDostavnicaIliNe(Convert.ToInt32(dostavnicaForma.IDzaglavlja)))
            {
                labelProknjizenIliNe.Text = "Kalkulacija je proknjižena";
                buttonUnesi.Enabled = false;
                buttonIzmeni.Enabled = false;
                buttonDodajStavku.Enabled = false;
                buttonIzmeniStavku.Enabled = false;
                buttonObrisiStavku.Enabled = false;
                buttonKnjizenje.Enabled = true;

                comboBoxProdajnaJedinica.Enabled = false;
                textBoxAutomatskiBrojDokumenta1.ReadOnly = true;
                textBoxAutomatskiBrojDokumenta2.ReadOnly = true;
            }
            else
            {
                labelProknjizenIliNe.Text = "Kalkulacija nije proknjižena";
                buttonUnesi.Enabled = false;
                buttonIzmeni.Enabled = true;
                buttonDodajStavku.Enabled = true;
                buttonIzmeniStavku.Enabled = true;
                buttonObrisiStavku.Enabled = true;
                buttonKnjizenje.Enabled = true;
                if (dataGridViewStavkeKalkulacije.RowCount <= 0)
                {
                    buttonDodajStavku.Enabled = true;
                    buttonIzmeniStavku.Enabled = false;
                    buttonObrisiStavku.Enabled = false;
                    buttonKnjizenje.Enabled = false;
                }
            }
        }

        private void kalkulacijaForma_Load(object sender, EventArgs e)
        {
            ProveraProknjizenostiKalkulacije();
        }

        private void buttonZatvori_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void kalkulacijaForma_FormClosing(object sender, FormClosingEventArgs e)
        {
            IDzaglavlja = null;
        }

        private void kalkulacijaForma_Activated(object sender, EventArgs e)
        {
            partneriObjekat = new Partneri();
            partneriObjekat.PopuniKontrolePartnera(textBoxSifraPartnera, textBoxNazivPartnera, textBoxMestoPartnera, checkBoxObveznikPDV);
        }

        private void textBoxIzborPartnera_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) {
                partneriObjekat = new Partneri();
                partneriObjekat.PretragaPartneraKalkulacija(textBoxIzborPartnera, textBoxSifraPartnera, textBoxNazivPartnera, textBoxMestoPartnera, checkBoxObveznikPDV);
            }
        }
    }
}
